if (window.PrimeFaces) {
    /** Swedish */
    PrimeFaces.locales['sv'] = {
        "startsWith": "Börjar med",
        "contains": "Innehåller",
        "notContains": "Innehåller inte",
        "endsWith": "Slutar med",
        "equals": "Lika med",
        "notEquals": "Inte lika med",
        "noFilter": "Inget filter",
        "filter": "Filter",
        "lt": "Mindre än",
        "lte": "Mindre än eller lika med",
        "gt": "Större än",
        "gte": "Större än eller lika med",
        "dateIs": "Datumet är",
        "dateIsNot": "Datumet är inte",
        "dateBefore": "Datumet är tidigare än",
        "dateAfter": "Datumet är senare än",
        "custom": "Anpassad",
        "clear": "Rensa",
        "apply": "Använd",
        "matchAll": "Matcha alla",
        "matchAny": "Matcha något",
        "addRule": "Lägg till regel",
        "removeRule": "Ta bort regel",
        "accept": "Ja",
        "reject": "Nej",
        "choose": "Välj",
        "upload": "Ladda upp",
        "cancel": "Avbryt",
        "close": "Stäng",
        "dayNames": ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"],
        "dayNamesShort": ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
        "dayNamesMin": ["S", "M", "T", "O", "T", "F", "L"],
        "monthNames": ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
        "monthNamesShort": ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
        "today": "Idag",
        "weekHeader": "Vecka",
        "firstDayOfWeek": 1,
        "showMonthAfterYear": false,
        "dateFormat": "yy-mm-dd",
        "weak": "Svagt",
        "medium": "Mellan",
        "strong": "Starkt",
        "passwordPrompt": "Fyll i lösenord",
        "emptyFilterMessage": "Inga tillgängliga rader",
        "emptyMessage": "Inga resultat hittades",
        "aria": {
            "trueLabel": "Sant",
            "falseLabel": "Falskt",
            "nullLabel": "Ej vald",
            "pageLabel": "Sida {page}",
            "firstPageLabel": "Första sidan",
            "lastPageLabel": "Sista sidan",
            "nextPageLabel": "Nästa sida",
            "previousPageLabel": "Föregående sida",
            "selectLabel": "Markera",
            "unselectLabel": "Avmarkera",
            "expandLabel": "Expandera",
            "collapseLabel": "Fäll ihop"
        }
    };


// custom PF labels
    PrimeFaces.locales['sv'] = $.extend(true, {}, PrimeFaces.locales['sv'], {
        isRTL: false,
        yearSuffix: '',
        timeOnlyTitle: 'Endast tid',
        timeText: 'Tid',
        hourText: 'timmar',
        minuteText: 'minuter',
        secondText: 'sekunder',
        millisecondText: 'millisekunder',
        currentText: 'Nuvarande datum',
        month: 'månad',
        week: 'vecka',
        day: 'dag',
        allDayText: 'Hela dagen',
        aria: {
            'switch.ON': 'På',
            'switch.OFF': 'Av',
            'messages.ERROR': 'Fel',
            'messages.FATAL': 'Alvarligt',
            'messages.INFO': 'Information',
            'messages.WARN': 'Varning'
        },
        messages: {
            'javax.faces.component.UIInput.REQUIRED': '{0}: Valideringsfel: Värde är obligatoriskt.',
            'javax.faces.converter.IntegerConverter.INTEGER': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror.',
            'javax.faces.converter.IntegerConverter.INTEGER_detail': '{2}: \'{0}\'måste vara ett numeriskt värde mellan -2147483648 och 2147483647 Example: {1}',
            'javax.faces.converter.DoubleConverter.DOUBLE': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror.',
            'javax.faces.converter.DoubleConverter.DOUBLE_detail': '{2}: \'{0}\' måste vara ett numeriskt värde mellan 4.9E-324 and 1.7976931348623157E308  Example: {1}',
            'javax.faces.converter.BigDecimalConverter.DECIMAL': '{2}: \'{0}\' måste vara numeriskt.',
            'javax.faces.converter.BigDecimalConverter.DECIMAL_detail': '{2}: \'{0}\' måste vara numeriskt bestående av en eller flera siffror eller decimaler. Example: {1}',
            'javax.faces.converter.BigIntegerConverter.BIGINTEGER': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror.',
            'javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror. Example: {1}',
            'javax.faces.converter.ByteConverter.BYTE': '{2}: \'{0}\' måste vara ett numeriskt värde mellan 0 and 255.',
            'javax.faces.converter.ByteConverter.BYTE_detail': '{2}: \'{0}\' måste vara ett numeriskt värde mellan 0 and 255.  Example: {1}',
            'javax.faces.converter.CharacterConverter.CHARACTER': '{1}: \'{0}\' måste vara ett giltligt tecken.',
            'javax.faces.converter.CharacterConverter.CHARACTER_detail': '{1}: \'{0}\' måste vara ett giltligt ASCII tecken.',
            'javax.faces.converter.ShortConverter.SHORT': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror.',
            'javax.faces.converter.ShortConverter.SHORT_detail': '{2}: \'{0}\' måste vara ett numeriskt värde mellan -32768 and 32767 Example: {1}',
            'javax.faces.converter.BooleanConverter.BOOLEAN': '{1}: \'{0}\' måste vara \'sant\' eller \'falskt\'',
            'javax.faces.converter.BooleanConverter.BOOLEAN_detail': '{1}: \'{0}\' måste vara \'sant\' eller \'falskt\'.  Any value other than \'true\' will evaluate to \'false\'.',
            'javax.faces.validator.LongRangeValidator.MAXIMUM': '{1}: Valideringsfel: Värdet är större än tillåtna värdet av\'{0}\'',
            'javax.faces.validator.LongRangeValidator.MINIMUM': '{1}: Valideringsfel: Värdet är mindre än tillåtna värdet av \'{0}\'',
            'javax.faces.validator.LongRangeValidator.NOT_IN_RANGE': '{2}: Valideringsfel: Det specifika attributet är inte mellan de förväntade värdena {0} och {1}.',
            'javax.faces.validator.LongRangeValidator.TYPE': '{0}: Valideringsfel: Värdet är av felaktig typ.',
            'javax.faces.validator.DoubleRangeValidator.MAXIMUM': '{1}: Valideringsfel: Värdet är större än det tillåtna värdet av \'{0}\'',
            'javax.faces.validator.DoubleRangeValidator.MINIMUM': '{1}: Valideringsfel: Värdet är mindre än tillåtna värdet av \'{0}\'',
            'javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE': '{2}: Valideringsfel: Det specifika attributet är inte mellan de förväntade värdena {0} och {1}',
            'javax.faces.validator.DoubleRangeValidator.TYPE': '{0}: Valideringsfel: Värdet är inte av korrekt typ',
            'javax.faces.converter.FloatConverter.FLOAT': '{2}: \'{0}\' måste vara ett numeriskt värde bestående av 1 eller flera siffror. ',
            'javax.faces.converter.FloatConverter.FLOAT_detail': '{2}: \'{0}\' måste vara ett numeriskt värde mellan 1.4E-45 och 3.4028235E38  Example: {1}',
            'javax.faces.converter.DateTimeConverter.DATE': '{2}: \'{0}\' felaktigt datumformat.',
            'javax.faces.converter.DateTimeConverter.DATE_detail': '{2}: \'{0}\' felaktigt datumformat. Example: {1}',
            'javax.faces.converter.DateTimeConverter.TIME': '{2}: \'{0}\' felaktigt tidsformat.',
            'javax.faces.converter.DateTimeConverter.TIME_detail': '{2}: \'{0}\' felaktigt tidsformat. Example: {1}',
            'javax.faces.converter.DateTimeConverter.DATETIME': '{2}: \'{0}\' felaktigt datum- och tidsformat.',
            'javax.faces.converter.DateTimeConverter.DATETIME_detail': '{2}: \'{0}\' felaktigt datum- och tidsformat. Example: {1}',
            'javax.faces.converter.DateTimeConverter.PATTERN_TYPE': '{1}: Ett \'format\' eller \'en typ\' av attribut must definieras för att konvertera värdet. \'{0}\'',
            'javax.faces.converter.NumberConverter.CURRENCY': '{2}: \'{0}\' är inte ett format för valuta.',
            'javax.faces.converter.NumberConverter.CURRENCY_detail': '{2}: \'{0}\' är inte ett format för valuta. Example: {1}',
            'javax.faces.converter.NumberConverter.PERCENT': '{2}: \'{0}\' är inte ett procentuellt värde.',
            'javax.faces.converter.NumberConverter.PERCENT_detail': '{2}: \'{0}\' är inte ett procentuellt värde. Example: {1}',
            'javax.faces.converter.NumberConverter.NUMBER': '{2}: \'{0}\' felaktigt datumformat.',
            'javax.faces.converter.NumberConverter.NUMBER_detail': '{2}: \'{0}\' är inte en siffra. Example: {1}',
            'javax.faces.converter.NumberConverter.PATTERN': '{2}: \'{0}\' är inte ett numeriskt format.',
            'javax.faces.converter.NumberConverter.PATTERN_detail': '{2}: \'{0}\' är inte ett numeriskt format. Example: {1}',
            'javax.faces.validator.LengthValidator.MINIMUM': '{1}: Valideringsfel: Längden är kortare än lägsta tillåtna värde \'{0}\'',
            'javax.faces.validator.LengthValidator.MAXIMUM': '{1}: Valideringsfel: Längden är längre än högsta tillåtna värde \'{0}\'',
            'javax.faces.validator.RegexValidator.PATTERN_NOT_SET': 'Ett format måste definnieras.',
            'javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail': 'Ett format måste definieras för att kräva ett värde.',
            'javax.faces.validator.RegexValidator.NOT_MATCHED': 'Formatet är inte korrekt',
            'javax.faces.validator.RegexValidator.NOT_MATCHED_detail': 'Formatet för \'{0}\' är inte korrekt.',
            'javax.faces.validator.RegexValidator.MATCH_EXCEPTION': 'Fel i reguljära uttryck.',
            'javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail': 'Fel i reguljära uttryck, \'{0}\''
        }
    });
}